package com.michale.system.mapper.tool;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.michale.common.domain.tool.JobEntity;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author Michale
 * @apiNote 定时任务调度 持久层
 */
@Mapper
public interface JobMapper extends BaseMapper<JobEntity> {

    /**
     * 查询定时任务调度
     *
     * @param jobId 定时任务调度主键
     * @return 定时任务调度
     */
    JobEntity selectJobByJobId(Long jobId);

    /**
     * 查询定时任务调度列表
     *
     * @param jobEntity 定时任务调度
     * @return 定时任务调度集合
     */
    List<JobEntity> selectJobList(JobEntity jobEntity);

    /**
     * 新增定时任务调度
     *
     * @param jobEntity 定时任务调度
     * @return 结果
     */
    int insertJob(JobEntity jobEntity);

    /**
     * 修改定时任务调度
     *
     * @param jobEntity 定时任务调度
     * @return 结果
     */
    int updateJob(JobEntity jobEntity);

    /**
     * 删除定时任务调度
     *
     * @param jobId 定时任务调度主键
     * @return 结果
     */
    int deleteJobByJobId(Long jobId);

    /**
     * 批量删除定时任务调度
     *
     * @param jobIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteJobByJobIds(Long[] jobIds);
}
